package com.lxmes.sales.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 采购订单管理对象 nc_purchase_order
 *
 * @author ruoyi
 * @date 2023-04-14
 */
@Data
@ApiModel(value = "NcPurchaseOrder", description = "采购订单管理对象")
public class NcPurchaseOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty("主键")
    private Long id;

    /** 年度采购计划号 */
    @Excel(name = "年度采购计划号")
    @ApiModelProperty("年度采购计划号")
    private String purPlanNoY;

    /** 年度采购计划数量 */
    @Excel(name = "年度采购计划数量")
    @ApiModelProperty("年度采购计划数量")
    private Long purPlanNumY;

    /** 季度采购计划号 */
    @Excel(name = "季度采购计划号")
    @ApiModelProperty("季度采购计划号")
    private String purPlanNoJ;

    /** 季度采购计划数量 */
    @Excel(name = "季度采购计划数量")
    @ApiModelProperty("季度采购计划数量")
    private Long purPlanNumJ;

    /** 月度采购计划号 */
    @Excel(name = "月度采购计划号")
    @ApiModelProperty("月度采购计划号")
    private String purPlanNoM;

    /** 月度采购计划数量 */
    @Excel(name = "月度采购计划数量")
    @ApiModelProperty("月度采购计划数量")
    private Long purPlanNumM;

    /** 临时采购计划号 */
    @Excel(name = "临时采购计划号")
    @ApiModelProperty("临时采购计划号")
    private String tempPurNo;

    /** 临时采购计划数量 */
    @Excel(name = "临时采购计划数量")
    @ApiModelProperty("临时采购计划数量")
    private Long tempPurNum;

    /** 要货单号 */
    @Excel(name = "要货单号")
    @ApiModelProperty("要货单号")
    private String yhNo;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String factoryName;

    /** ASN编号 */
    @Excel(name = "ASN编号")
    @ApiModelProperty("ASN编号")
    private String asnNo;

    /** 子图号 */
    @Excel(name = "子图号")
    @ApiModelProperty("子图号")
    private String itemChildNo;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 物料计量单位 */
    @Excel(name = "物料计量单位")
    @ApiModelProperty("物料计量单位")
    private String materialUnit;

    /** 条码号 */
    @Excel(name = "条码号")
    @ApiModelProperty("条码号")
    private String barcode;

    /** 合同号 */
    @Excel(name = "合同号")
    @ApiModelProperty("合同号")
    private String contractNo;

    /** 合同份额 */
    @Excel(name = "合同份额")
    @ApiModelProperty("合同份额")
    private String contractShare;

    /** 合同数量 */
    @Excel(name = "合同数量")
    @ApiModelProperty("合同数量")
    private Long contractNum;

    /** 托管属性 */
    @Excel(name = "托管属性")
    @ApiModelProperty("托管属性")
    private String trusteeshipProp;

    /** 要货数量 */
    @Excel(name = "要货数量")
    @ApiModelProperty("要货数量")
    private Long yhNum;

    /** 送货数量 */
    @Excel(name = "送货数量")
    @ApiModelProperty("送货数量")
    private Long shNum;

    /** 入库数量 */
    @Excel(name = "入库数量")
    @ApiModelProperty("入库数量")
    private Long rkNum;

    /** 合格数量 */
    @Excel(name = "合格数量")
    @ApiModelProperty("合格数量")
    private Long qualifiedNum;

    /** 退货数量 */
    @Excel(name = "退货数量")
    @ApiModelProperty("退货数量")
    private Long returnNum;

    /** 要货类型 */
    @Excel(name = "要货类型")
    @ApiModelProperty("要货类型")
    private String yhType;

    /** 要货单位 */
    @Excel(name = "要货单位")
    @ApiModelProperty("要货单位")
    private String yhWork;

    /** 要货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "要货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("要货时间")
    private Date yhTime;

    /** 订货单位 */
    @Excel(name = "订货单位")
    @ApiModelProperty("订货单位")
    private String dhWork;

    /** 物流单位 */
    @Excel(name = "物流单位")
    @ApiModelProperty("物流单位")
    private String logisticsWork;

    /** 订货仓库 */
    @Excel(name = "订货仓库")
    @ApiModelProperty("订货仓库")
    private String dhWarehouse;

    /** 收货人编码 */
    @Excel(name = "收货人编码")
    @ApiModelProperty("收货人编码")
    private String consigneeCode;

    /** 收货位 */
    @Excel(name = "收货位")
    @ApiModelProperty("收货位")
    private String consigneeW;

    /** 收货地址 */
    @Excel(name = "收货地址")
    @ApiModelProperty("收货地址")
    private String consigneeAddress;

    /** 供货单位 */
    @Excel(name = "供货单位")
    @ApiModelProperty("供货单位")
    private String supplyWork;

    /** 供货地址 */
    @Excel(name = "供货地址")
    @ApiModelProperty("供货地址")
    private String supplyAddress;

    /** 生产周期（天） */
    @Excel(name = "生产周期", readConverterExp = "天=")
    @ApiModelProperty("生产周期（天）")
    private BigDecimal proCycle;

    /** 供应商运输距离（KM） */
    @Excel(name = "供应商运输距离", readConverterExp = "K=M")
    @ApiModelProperty("供应商运输距离（KM）")
    private BigDecimal supplyKm;

    /** 供应商运输时间（小时） */
    @Excel(name = "供应商运输时间", readConverterExp = "小=时")
    @ApiModelProperty("供应商运输时间（小时）")
    private Date supplyTpTime;

    /** 供货周期（天） */
    @Excel(name = "供货周期", readConverterExp = "天=")
    @ApiModelProperty("供货周期（天）")
    private String deliveryCycle;

    /** 月订单数量 */
    @Excel(name = "月订单数量")
    @ApiModelProperty("月订单数量")
    private Long orderQuantityMon;

    /** 月完成数量 */
    @Excel(name = "月完成数量")
    @ApiModelProperty("月完成数量")
    private Long orderQuantityFinishMon;

    /** 月度供货未完成比率 */
    @Excel(name = "月度供货未完成比率")
    @ApiModelProperty("月度供货未完成比率")
    private BigDecimal nofinishRateMon;

    /** 单箱容量 */
    @Excel(name = "单箱容量")
    @ApiModelProperty("单箱容量")
    private Long oneCapacity;

    /** 包装尺寸 */
    @Excel(name = "包装尺寸")
    @ApiModelProperty("包装尺寸")
    private String packageSize;

    /** 包装材质 */
    @Excel(name = "包装材质")
    @ApiModelProperty("包装材质")
    private String packageTexture;

    /** 单箱重量 */
    @Excel(name = "单箱重量")
    @ApiModelProperty("单箱重量")
    private String oneWeight;


}
